package gamecomponents.graphic;

import com.threed.jpct.Texture;

/**
 * Data holder used by models to tell View what to draw.
 * @author Teem Deer
 * 
 */
public class BlitData {
	
	private final Texture texture;
	private final int srcX;
	private final int srcY;
	private final int destX;
	private final int destY;
	private final int srcWidth;
	private final int srcHeight;
	private final int destWidth;
	private final int destHeight;
	private final int transValue;
	private final boolean additive;
	private final java.awt.Color addColor;

	// Constructor
	
	/**
	 * Constructs a new BlitData object.
	 * @param texture
	 *            - The texture
	 * @param srcX
	 *            - The x-coordinate of the source
	 * @param srcY
	 *            - The y-coordinate of the source
	 * @param destX
	 *            - The x-coordinate to blit the texture
	 * @param destY
	 *            - The y-coordinate to blit the texture
	 * @param srcWidth
	 *            - The width of the source
	 * @param srcHeight
	 *            - The Height of the source
	 * @param destWidth
	 *            - The width to blit
	 * @param destHeight
	 *            - The height to blit
	 * @param transValue
	 *            - trans value
	 * @param additive
	 *            - if it should be additive
	 * @param addColor
	 *            - the add color
	 */
	public BlitData(final Texture texture, final int srcX, final int srcY,
			final int destX, final int destY, final int srcWidth,
			final int srcHeight, final int destWidth, final int destHeight,
			final int transValue, final boolean additive,
			final java.awt.Color addColor) {
		this.texture = texture;
		this.srcX = srcX;
		this.srcY = srcY;
		this.destX = destX;
		this.destY = destY;
		this.srcWidth = srcWidth;
		this.srcHeight = srcHeight;
		this.destWidth = destWidth;
		this.destHeight = destHeight;
		this.transValue = transValue;
		this.additive = additive;
		this.addColor = addColor;

	}

	// Methods
	
	/**
	 * @return the texture
	 */
	public Texture getTexture() {
		return this.texture;
	}

	/**
	 * @return the srcX
	 */
	public int getSrcX() {
		return this.srcX;
	}

	/**
	 * @return the srcY
	 */
	public int getSrcY() {
		return this.srcY;
	}

	/**
	 * @return the destX
	 */
	public int getDestX() {
		return this.destX;
	}

	/**
	 * @return the destY
	 */
	public int getDestY() {
		return this.destY;
	}

	/**
	 * @return the srcWidth
	 */
	public int getSrcWidth() {
		return this.srcWidth;
	}

	/**
	 * @return the srcHeight
	 */
	public int getSrcHeight() {
		return this.srcHeight;
	}

	/**
	 * @return the destWidth
	 */
	public int getDestWidth() {
		return this.destWidth;
	}

	/**
	 * @return the destHeight
	 */
	public int getDestHeight() {
		return this.destHeight;
	}

	/**
	 * @return the transValue
	 */
	public int getTransValue() {
		return this.transValue;
	}

	/**
	 * @return the additive
	 */
	public boolean isAdditive() {
		return this.additive;
	}

	/**
	 * @return the addColor
	 */
	public java.awt.Color getAddColor() {
		return this.addColor;
	}
}
